In these years, Personal Digital Assistants (PDAs) and notebook computers with an SD bus slot are becoming widespread. The SD bus slot conforms to the “SD memory card (Secure Digital Memory Card)” or the upward compatible “SDIO card (Secure Digital Input Output Card),” for which the card shape and communication protocol are defined by a uniform standard (for convenience, slots that connect to an SD bus are herein collectively referred to as “SD slots”). This uniform standard is herein referred to as the “SD standard.” More accurately, it means the international standard defined by the SD Association.
FIG. 9(a) is a diagram showing exemplary SD host apparatus 100 (e.g., a PDA 100a, a notebook computer 100b, an SD memory card reader 100c, etc.) and SD card application apparatus 102 (a wireless LAN card 102a, an SD memory card 102b, a mini-SD memory card 102c, etc.). Each SD host apparatus 100 has an SD slot 101 with its size and shape defined by the SD standard, and the various SD card application apparatus 102 are connected to the SD slot.
Various peripheral apparatus have been developed as the SD card application apparatus 102, for example, the wireless LAN card 102a and the SD memory cards 102b and 102c, as well as a radio broadcast receiving card, a GPS card, and a camera card (all not shown).
Therefore, any host apparatus that have the SD slot 101 and have required driver software installed thereon can control these peripheral apparatus (SD card application apparatus) at any time.
For small host apparatus like mobile phones, there are standards such as the mini-SD slot having the size slightly smaller than the normal SD slot. However, since the communication protocol itself conforms to the SD standard, whether the slot shape is of the mini-SD or the normal SD slot will not be considered unless otherwise stated.
FIG. 9(b) is a diagram schematically showing a host apparatus 100 being connected with an SD card application apparatus 102 via an SD bus 105. The host apparatus 100 has the SD slot 101 and is used with the SD card application apparatus 102 inserted thereto.
The host apparatus 100 includes a semiconductor chip called an SDIO host controller. On the other hand, the SD card application apparatus 102 includes a semiconductor chip called an SD or SDIO controller (whichever is possible but hereafter uniformly referred to as an SDIO controller for convenience).
The SDIO host controller and the SDIO controller are designed to perform data transfer always in a one-to-one relationship while recognizing commands issued by each other. At this point, the SD bus differs from buses that allow one-to-N connection, such as the USB (Universal Serial Bus) described later.
Once the SDIO card application apparatus is inserted into the host apparatus, the SDIO host controller in the host apparatus recognizes the card application apparatus 102 by exchanging commands and data with the SDIO controller in the card.
Conventional SDIO host controllers (or SD host controllers) have been quite simple with only minimum components, including an SDIO host core (SD host engine), one SD bus interface, one CPU interface that connects a local bus for connecting to the CPU of the host apparatus, a clock, a register controller, and so forth (for example, see FIG. 1 of a patent document 1).
[Patent Document 1]: Japanese Patent Laid-Open No. 2003-76952
[Patent Document 2]: WO03/019841
In addition to the local bus (such as a PCI bus or a generic CPU bus), the CPU of the host apparatus often has various bus interfaces that allow high-speed bulk communication, such as an ATA interface, a USB interface, and an IEE 1394 interface.
The USB interface is a versatile interface that can connect to storage devices and various other apparatus, for example, input/output devices such as a mouse and a keyboard, printer scanners, and memory card reader/writers.
Moreover, many of versatile operating systems that operate on the host apparatus in these years include, as standard equipment, host controller devices and their device drivers for the hosts of these standard interfaces (such as an IDE host and a USB host).
On the other hand, there are limited apparatus in which the SD bus interface can be connected. Therefore, it is expected that the ability of connecting the SD card application apparatus to those general interfaces will increase the variety of usage of the SD card application apparatus and will be applied to development of various products.
The primary technical object of the present invention is to provide a versatile SDIO host controller capable of connecting to standardized general interfaces.